Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Akiban Driver Implementation that Uses PDO #191

Closed
wants to merge 96 commits into from

Conversation

posulliv
Copy link
Contributor

Based on discussion in pull request 188 with @stof, I decided to modify the implementation for Akiban to use the PostgreSQL PDO driver instead of the native PHP client for PostgreSQL.

One piece of functionality that does not work with current version of Akiban is lastInsertId. This is because the implementation of CURRVAL for Akiban requires both schema name and sequence name be provided whereas PostgreSQL only requires sequence name (relevant source). I will attempt to get CURRVAL in Akiban implemented to have the same parameters as PostgreSQL.

This causes a few tests to fail in the test suite right now. Is there a way to mark a test as expected to fail for a specific database driver with the test suite? What I did in this pull request is skip any tests that use lastInsertId when testing against the Akiban platform. I'll update these tests to not be skipped when CURRVAL works as expected. Let me know if there is a better way to do that.

…nterface. Nearly all methods still need to be implemented.
…on. This is due to Akiban having a NOW() function that is compatible with MySQL.
@travisbot
Copy link

This pull request fails (merged 06c65a8 into bb88ba7).

@travisbot
Copy link

This pull request fails (merged 06c65a8 into bb88ba7).

@travisbot
Copy link

This pull request passes (merged 29dd2e9 into bb88ba7).

@posulliv
Copy link
Contributor Author

posulliv commented Sep 6, 2012

Just wanted to check in because I will be away for a week and see if there any comments on this pull request that I should address before I leave?

@stof
Copy link
Member

stof commented Sep 6, 2012

@posulliv the priority right now is to manage the release of 2.3. There is no hurry to merge it as Doctrine 2.4 is due in 6 months :)

@posulliv
Copy link
Contributor Author

posulliv commented Sep 6, 2012

Sounds good to me! Thanks for the update :)

@deeky666
Copy link
Member

@posulliv What's the status of this PR? Is the implementation finished? First off you need to rebase this PR against master, as it is not mergeable anymore.

@beberlei
Copy link
Member

@posulliv Please provide this driver as a seperate package.

@beberlei beberlei closed this Dec 20, 2013
@MMcM
Copy link
Contributor

MMcM commented Jan 14, 2014

There is a new version of this branch for FoundationDB SQL Layer, which is the new name of Akiban Server. It is all synced with master and up-to-date with product enhancements on our side.

There are two challenges to releasing this as a separate package as suggested here.

  • It will not be supported as a driver by name. Which means it cannot be specified in the Symfony parameters file, only as a driver_class in the config file. Which locks us out of being supported by the current DoctrineStep. And, since we will not appear in getAvailableDrivers, we are likewise locked out of a more dynamic version of such tools.
  • Requesting PORTABILITY_RTRIM, it will be anded away by the PORTABILITY_OTHERVENDORS mask, which is chosen by platform name. Like many other systems, we need any trimming to happen on the client side.

Do you have recommendations for how we can meet your desire to keep the number of systems supported in the core manageable without making our addition seem second-class?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants